接續昨天的話題我們繼續。
堆疊類型,設計成後入先出的集合。
初始化上圖的 Stack 我們先
var stack = new Stack<string> ();
stack.Push ("Mio");
stack.Push ("Miffy");
stack.Push ("Lulu");
由於 Stack 沒有 Add 方法,所以不能像前兩個一樣直接賦值。
上方表示新增元素 Push ()
stack.Push ("Lulu");
下方表示取出元素 Pop ()
stack.Pop ();
根據圖片我們可以更加了解如何使用 Stack,而上述兩種方法都會對 Stack 的元素產生影響,如果要查詢元素時,我們可以使用 Peek () 來確認最上面的元素,也可以使用 Contains () 來確認適合有符合的元素,當然要拿元素出來,還是要根據規則一個一個吐出。
佇列類型,設計成先入先出的集合。
一樣初始化上圖的 Queue
var queue = new Queue<string> ();
queue.Enqueue ("Mio");
queue.Enqueue ("Miffy");
queue.Enqueue ("Lulu");
Queue 一樣沒有 Add 方法。
上方表示新增元素 Enqueue ()
queue.Enqueue ("Lulu");
下方表示取出元素 Dequeue ()
queue.Dequeue ();
上述兩種方法一樣都會對 Queue 的元素產生影響,查詢的方法與 Stack 一樣。
簡單介紹四個常用的集合類別,這邊簡單的說一下個人的使用時機,有明確的對照行為,並且要求 Key 值不能重複時,可以使用 Dictionary。而今天介紹的這兩個則是以需求為主,除非內容需以加入順序排列,否則一般不會考慮。不知道用啥就是使用 List。當然只是個人感想而已。
雖然沒有介紹裝箱拆箱,但因為裝箱拆箱的原因,在撰寫程式碼時,建議優先選擇泛型版本,有些集合允許非泛型版本(存放於System.Collections
),在編譯時也能強制型別檢查,所以泛型版本可以說是比較快也比較安全。